System and method for user interaction in complex web 3d scenes

ABSTRACT

This disclosure provides a system and method for user interaction in complex web 3D scenes, including a receiving module, a transmission module and a 3D model module. The receiving module receives molecular data. The transmission module analyzes the received molecular data and then enters the two branch modules at the same time. The branch modules include: a view layer unit: processing browser rendering and 3D model construction, the data generated by the branch will finally be presented on the browser page; a data layer unit: processing 3D picking-related business logic, and establishing a list of related model index information for atoms and covalent bonds in molecular data. The 3D model module: establishes a one-to-one correspondence between color and 3D model. This invention simplifies the display model of the molecule for the picking of web 3D molecular visualization and reduces the computational cost of the model data on the rendering.

FIELD OF THE INVENTION

The invention pertains to the field of chemical computing. It concerns a system and method for user interaction in complex web 3D scenes.

BACKGROUND OF THE INVENTION

In the field of chemical research, it is often necessary to have a set of standard description files for molecules (mol format) and crystals (cif format) to facilitate different research organizations and institutions to reach a consensus on chemical molecules or crystals of the same structure. But the data in plain text format such as cif and mol is not conducive to the intuitive observation of the 3D structure of the corresponding chemical structure. Although there is related 3D structure display software in the chemistry field, these client end application is not conducive to popularization and dissemination. With the improvement of modern browser performance and the update of web 3D technology, web 3D tools that can run 3D display and interaction in browser have been developed base on JavaScript-based programming language.

Due to the complex structure of many chemical molecules or crystals, a large amount of data calculations will be needed during 3D rendering, so performance optimization is particularly important. The purpose of this solution is to solve the problems of stuttering and insufficient rendering frame rate caused by time-consuming calculation on the 3D molecular visualization interaction in the browser environment.

The current interactive operations in the web 3D scene are first based on the click picking up of objects in the 3D scene. At present, the main solution for picking up objects in a 3D scene is ray picking.

The objects rendered by the webgl rendering engine are located in a space called the frustum, as shown in FIG. 1 and FIG. 2.

SUMMARY OF THE INVENTION

In order to solve the above technical problems, this invention provides a system for user interaction in complex web 3D scenes, including a receiving module, a transmission module and a 3D model module.

The receiving module: receives molecular data, mol files, cif files, and a custom structure containing crystal information;

The transmission module: analyzes the received molecular data and then enters two branch modules at the same time.

The branch modules include:

A view layer unit: handles the rendering of the browser and the 3D model construction, and the data generated by this branch will finally be presented on the browser page.

A data layer unit: processes 3D picking-related business logic, and establishes a list of related model index information on atoms, covalent bonds, hydrogen bonds, and flexible angles in molecular data.

The 3D model module: establishes a one-to-one correspondence between color and 3D mode. And all 3D models that need to be picked up have a unique index in the data layer.

Preferably, the molecular data adopts mol file, cif file, and a custom structure containing crystal information.

Correspondingly, this invention provides a method for user interaction in complex web 3D scenes, which includes the following steps.

Step A: analyze the molecular data after receiving it.

Step B: then it will enter two branch modules at the same time, including the first branch module and the second branch module. The first branch module serves as the view layer, mainly processing browser rendering and 3D model construction, and the data generated by the branch will finally be presented on the browser page.

Step C: The second branch module is used as data layer, specifically responsible for processing 3D pickup-related business logic, and establishes a list of related model index information on atoms and covalent bonds in molecular data.

Step D: Establish corresponding simplified model data in an invisible 3D scene according to request, and establish a one-to-one correspondence between color and 3D model. All 3D models that need to be picked will have a unique index in the data layer.

Wherein, the index is a hexadecimal color, which ranges from #000001 to #FFFFFE that mark a total of 16*16*16*16*16*16-2 units, and without rendering on the browser page.

This invention brings the following beneficial effects.

1. This solution firstly simplifies the display model (Stick-shaped model) of the molecule and reduces the computational cost of rendering the model data for Web 3D molecular visualization picking.

2. By establishing a simplified pickable model data of a data layer that does not need to be rendered, the overhead of 3D scene rendering is reduced, and the construction of unnecessary picking model data is avoided.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a visual cone model under perspective projection in the prior art.

FIG. 2 is a visual cone model under orthogonal projection in the prior art.

FIG. 3 is a visual cone of prospective projection.

FIG. 4 shows the process flow of the 3D picking scheme

In FIG. 5, L2 represents the relevant data of the 3D scene rendered in the browser page, which corresponds to the data generated by the view layer in FIG. 1. L1 can be regarded as a computer screen.

FIG. 6-9 is the effect diagram of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The preferred embodiments of this invention will be further described in detail below in conjunction with the accompanying drawings.

Embodiment 1

FIG. 4 shows the process flow of the 3D picking scheme, wherein the molecular data (mol, cif files) is analyzed after received and then enters two branch modules at the same time. The branch module on the left is used as the view layer, which mainly deals with the rendering of the browser and the construction of the 3D model. The data generated by this branch will finally be presented on the browser page; while the branch module on the right is used as the data layer and is responsible for processing 3D Pick up relevant business logic, and establishing a list of index information of related models on atoms and covalent bonds in molecular data. The data generated by this branch module is always operated in memory and would establish a corresponding simplified model data in an invisible 3D scene and a one-to-one correspondence between color and 3D model. All 3D models that need to be picked up will have a unique index in the data layer, wherein, the index is a hexadecimal color, which ranges from #000001 to #FFFFFE that marks a total of 16*16*16*16*16*16-2 units without rendering on the browser page.

Embodiment 2

As shown in FIG. 5, L2 represents the relevant data of the 3D scene rendered in the browser page, which corresponds to the data generated by the view layer in FIG. 4. L1 can be regarded as a computer screen. When the user clicks on the point P1 on the screen, a 3D picking operation is triggered. When the user clicks on the point P1 on the screen, the pick-up module will obtain the screen click position of this point and construct a temporary virtual plane. This plane is similar to the computer screen L1. The plane is the projection of the 3D model data on the 2D plane. Just as the sphere S1 is projected on L1 as a circle P1, the projected 2D shapes on the virtual plane use the index of the projected 3D model as their own color. For example, the index of an atom in the pickup module in 3D space is #123456, and then on the virtual plane temporarily constructed by the pickup module, the color of the circle where the atom is mapped on the plane is #123456. After the community module reads the color #123456 of the mouse position on the virtual plane, the 3D model corresponding to the position was found without calculation by using the color as the index, and the 3D object information at that point was successfully picked up. In this way, a large number of calculation processes can be avoided, and at the same time, the cost of data calculation of the 3D model that does not need to be picked up is reduced, thereby improving the rendering frame rate of the 3D scene.

1×1×1: as shown in FIG. 7, 2×2×2 as shown in FIG. 8, and 3×3×3 as shown in FIG. 9.

Description: 3×3×3 lattice expansion is to expand in the three directions of oa, ob, and oc. A single lattice expands into a cube composed of 3×3×3=27 lattices, and 2×2×2 lattice expands into a cube with 8 single lattices.

The effect comparison (using the structure of aspirin for comparison test) is shown in Table 1:

TABLE 1 Molecular visualization Optimized molecular ray method model visualization model picking scheme picking scheme Comparison item (Ball-and-stick model) (Stick-shaped model) Non-stacked unit program 880 ms 778 ms execution time in a single lattice Execution time for expanding 1106 ms 897 ms the program in a 1 × 1 × 1 lattice Execution time for expanding 1841 ms 945 ms the program in a 2 × 2 × 2 lattice Execution time for expanding 3710 ms 1107 ms the program in a 3 × 3 × 3 lattice Rendering frame rate in a 59.9 fps 59.9 fps 1 × 1 × 1 lattice Rendering frame rate in a 59.9 fps 59.9 fps 2 × 2 × 2 lattice Rendering frame rate in a 33 fps 59.9 fps 3 × 3 × 3 lattice

Description: 3×3×3 lattice expansion is to expand in the three directions of oa, ob, and oc. A single lattice expands into a cube composed of 3×3×3=27 lattices, and 2×2×2 lattice expands into a cube with 8 single lattices.

The above content is a further detailed description of this invention in combination with specific preferred embodiments, and it cannot be considered that the specific implementation of this invention is limited to these descriptions. For the ordinary technical staff in the technical field of this invention, a number of simple deductions or substitutions can be made without departing from the concept of this invention, which should be regarded as falling within the protection scope of this invention. 

1. A system for user interaction in complex web 3D scenes, comprising: a receiving module; a transmission modules; and a 3D model module, wherein the receiving module receives molecular data, the transmission module analyzes the received molecular data and transmitting the molecular data to two branch modules at the same time, wherein the branch modules comprise: a view layer unit: handling rendering on a browser and constructing a 3D model of the molecular data, and presenting the data generated by this branch on the browser; and a data layer unit: processing 3D picking-related business logic, and establishing a list of related model index information on atoms and covalent bonds in the molecular data; and the 3D model module establishes a one-to-one correspondence between a color and the 3D model, and all the 3D models that need to be picked up have a unique index in a data layer.
 2. A method for the system for user interaction in complex web 3D scenes according to claim 1, comprising the following steps: step A: analyzing the molecular data after receiving the molecular data; step B: then the molecular data entering two branch modules at the same time, comprising a first branch module and a second branch module, wherein the first branch module serves as the view layer, processing browser rendering and constructing the 3D model, and the data generated by the branch will finally be presented on the browser page; step C: the second branch module being used as the data layer for processing 3D pickup-related business logic, and establishing a list of related model index information on atoms and covalent bonds in molecular data; Step D: establishing corresponding simplified model data in an invisible 3D scene, and establishing a one-to-one correspondence between color and the 3D model, wherein all 3D models that need to be picked will have a unique index in the data layer.
 3. The method according to claim 2, wherein the index is a hexadecimal color, which ranges from #000001 to #FFFFFE that marks a total of 16*16*16*16*16*16-2 units without rendering on the browser page. 